import config from "./config.js"
export const request = (options) => {
	return new Promise((resolve, reject) => {
		let token = uni.getStorageSync('token')
		// 在登录的时候需要储存 token uni.setStorageSync("token","这里是登录获取的token值")
		uni.request({
			url: config.baseUrl + options.url,
			data: options.data || {},
			method: options.method || 'POST',
			header: options.header || {
				token: token,
			},
			success: (res) => {
				// console.log(res, 'http')
				// -1 为token过期 后面其他逻辑 补充
				if (res.data.code === 403) {
					uni.showModal({
						title: '登录提醒',
						content: '当前暂未登录，请登录后操作!',
						success: (res) => {
							if (res.confirm) {
								console.log('comfirm') //点击确定之后执行的代码
								uni.reLaunch({
									url: '/pages/login'
								});
							} else {
								console.log('cancel') //点击取消之后执行的代码
								// 判断是否是tabbar界面 还是普通界面
								let pages = getCurrentPages()
								let prevPage = pages[pages.length - 1]
								console.log(pages, '路由地址')
								uni.navigateBack({
									delta: 1,//返回层数，2则上上页
								})
							}
						}
					});
				}
				if (res.data.code == 200) {
					resolve(res.data)
				}
				if (res.data.code == 500) {
					uni.showToast({
						title: res.data.message,
						icon: 'none'
					})
				}
			},
			fail: (err) => {
				console.log(555, err);
				// 页面中弹框显示失败
				// uni.showToast({
				// 	title: '请求接口失败',
				// 	icon: 'none'
				// })
				// 返回错误消息
				reject(err)
			},
			catch: (e) => {
				resolve(e)
			}
		})
	})
};
export const requestTwo = (options) => {
	return new Promise((resolve, reject) => {
		let token = uni.getStorageSync('token')
		// let token = '500da5ac8cf7fac349f702ec5a2de420'
		// 在登录的时候需要储存 token uni.setStorageSync("token","这里是登录获取的token值")
		uni.request({
			url: config.baseUrl + options.url,
			data: options.data || {},
			method: options.method || 'POST',
			header: options.header || {
				token: token,
			},
			success: (res) => {
				if (res.data.code == 200) {
					resolve(res.data)
				}
				if (res.data.code == 500) {
					uni.showToast({
						title: res.data.message,
						icon: 'none'
					})
					setTimeout(() => {
						uni.navigateBack({
							delta: 1
						})
					}, 1500)
				}
			},
			fail: (err) => {
				// 页面中弹框显示失败
				// uni.showToast({
				// 	title: '请求接口失败',
				// 	icon: 'none'
				// })
				// 返回错误消息
				reject(err)
			},
			catch: (e) => {
				resolve(e)
			}
		})
	})
};
export const requestThree = (options) => {
	return new Promise((resolve, reject) => {
		let token = uni.getStorageSync('token')
		uni.request({
			url: config.baseUrl + options.url,
			data: options.data || {},
			method: options.method || 'POST',
			header: options.header || {
				token: token,
			},
			success: (res) => {
				if (res.data.code === 403) {
					uni.showModal({
						title: '登录提醒',
						content: '当前暂未登录，请登录后操作!',
						success: (res) => {
							if (res.confirm) {
								console.log('comfirm') //点击确定之后执行的代码
								uni.reLaunch({
									url: '/pages/login'
								});
							} else {
								console.log('cancel') //点击取消之后执行的代码
								// 判断是否是tabbar界面 还是普通界面
								let pages = getCurrentPages()
								let prevPage = pages[pages.length - 1]
								console.log(pages, '路由地址')
								uni.navigateBack({
									delta: 1,//返回层数，2则上上页
								})
							}
						}
					});
				}
				if (res.data.code == 200) {
					resolve(res.data)
				}
				if (res.data.code == 500) {
					resolve(res.data)
				}
				if (res.data.code == 503) {
					uni.showToast({
						title: res.data.message,
						icon: 'none'
					})
					setTimeout(() => {
						uni.navigateBack({
							delta: 1
						})
					}, 1500)
				}
			},
			fail: (err) => {
				// 页面中弹框显示失败
				// uni.showToast({
				// 	title: '请求接口失败',
				// 	icon: 'none'
				// })
				// 返回错误消息
				reject(err)
			},
			catch: (e) => {
				resolve(e)
			}
		})
	})
};
// 将对象导出外部引入使用
export default {
	request, requestTwo, requestThree
}
